https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf?tpId=230&tqId=2021480&ru=/exam/oj&qru=/ta/dynamic-programming/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D196
#include <iostream>
using namespace std;

int main(){

    int n,q;
    cin>>n>>q;
    int arr[1000010];
    long long dp[1000010];
    //初始化前缀和
    for(int i=1;i<=n;i++)
    {
        cin>>arr[i];
        dp[i]=dp[i-1]+arr[i];
    }
    while(q--)
    {
        int l,r;
        cin>>l>>r;
        cout<<dp[r]-dp[l-1]<<endl;
    }

    
    return 0;
}